package lesson18;

public class AbstractionDemo {

	public static void main(String[] args) 
	{
		Car car  = new Car();
		car.switchLights(true);
		
		Movable car2 = new Car();
		car2.move("Left");
		
		Shop myShop = new Shop();
		myShop.movableObjects = new Movable[2];
		myShop.movableObjects[0] = car;
		myShop.movableObjects[1] = new Jeep();
		
		Movable jeep = new Car();
		Jeep jeepConcrete = new Jeep();
		
		Human human = new Human();
		//human.breathe();
		//human.makeNoise();
		
		
		Mammal mammal = new Human();
		//mammal.breathe();
		//mammal.makeNoise();
		//mammal.giveBirth(10);
		
		Mammal monkey =  new Monkey();
		//monkey.breathe();
		//monkey.makeNoise();
		//monkey.giveBirth(3);
		
		Zoo myZoo = new Zoo();
		myZoo.mammals[0] = mammal;
		myZoo.mammals[1] = monkey;
		myZoo.makeAllAnimalsNoisy();
		myZoo.move();
		myZoo.giveBirth(10);
		myZoo.checkIfBreathing();
		
		System.out.println(myZoo.mammals[1] instanceof Monkey);
		System.out.println(myZoo.mammals[1] instanceof Mammal);
		System.out.println(myZoo.mammals[1] instanceof Movable);
		
	}

}
